// PowerSourceWidget.h
#ifndef POWERSOURCEWIDGET_H
#define POWERSOURCEWIDGET_H

#include <QWidget>
#include <QDrag>
#include <QMimeData>
#include <QPainter>
#include <QLabel>
class PowerSourceWidget : public QWidget {
    //Q_OBJECT

public:
    explicit PowerSourceWidget(QWidget *parent = nullptr)
        : QWidget(parent) {
        setFixedSize(40, 40);  // 设置控件大小
        //setAutoFillBackground(true);  // 设置背景填充
    }
    QRectF boundingRect() {
        return QRectF(0, 0, 40, 40);  // 电源的大小
    }
    void paintEvent(QPaintEvent *event)override
    {
        QPainter painter(this);

        // 设置抗锯齿
        painter.setRenderHint(QPainter::Antialiasing);

        // 设置填充颜色为灰色
        painter.setBrush(Qt::gray);

        // 圆的中心和半径
        QPoint center = boundingRect().center().toPoint();
        int radius = boundingRect().width() / 4; // 使用boundingRect的宽度来确定半径

        // 绘制一个灰色圆形
        painter.drawEllipse(center, radius, radius);



        // 设置文本颜色为黑色，并绘制文本
        painter.setPen(Qt::black);  // 设置文本颜色
        painter.drawText(boundingRect(), Qt::AlignCenter, "Power");
    }

protected:
    void mousePressEvent(QMouseEvent *event) override {

        // 确保不拦截父类的事件
        QWidget::mousePressEvent(event);
    }
    // 鼠标松开事件：在 QGraphicsView 放置元件
    void mouseMoveEvent(QMouseEvent *event) override {

        // 确保不拦截父类的事件
        QWidget::mouseMoveEvent(event);
    }
    // 鼠标松开事件：在 QGraphicsView 放置元件
    void mouseReleaseEvent(QMouseEvent *event) override {

        // 确保不拦截父类的事件
        QWidget::mouseReleaseEvent(event);
    }
};

#endif // POWERSOURCEWIDGET_H

